﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GOFconsole
{
    class Program
    {
        static void Main(string[] args)
        {
            //C1 简单工厂实现计算器
            //Chapter1_Calculator c1 = new Chapter1_Calculator();
            //c1.OutputFunc_C1();

            //C6 装饰模式简单示例
            //Chapter6_decorator c6 = new Chapter6_decorator();
            //c6.DecoratorTest();

            //C7 代理模式
            //Chapter7_Proxy c7 = new Chapter7_Proxy();
            //c7.ProxyTest();

            //C8 工厂模式
            //Chapter8_Factory c8 = new Chapter8_Factory();
            //c8.FactoryTest();

            //C9 原型模式
            Chapter9_Prototype c9 = new Chapter9_Prototype();
            c9.PrototypeTest();

            //C10模板方法模式
            //Chapter10_Template c10 = new Chapter10_Template();
            //c10.TemplateTest();

            //C12 外观模式
            //Chapter12_Facade c12 = new Chapter12_Facade();
            //c12.FacadeTest();

            //C14 观察者模式
            //Chapter14_Observer c14 = new Chapter14_Observer();
            //c14.ObserverTest();

            //C15 抽象工厂模式和反射
            //Chapter15_AssemblyandFactory c15 = new Chapter15_AssemblyandFactory();
            //c15.AssemblyAndFactoryTest();

            //状态模式
            //Chapter16_StateMethod c16 = new Chapter16_StateMethod();
            //c16.StateMethodTest();

            //适配器模式
            //Chapter17_Adapter c17 = new Chapter17_Adapter();
            //c17.AdapterTest();

            //备忘录模式
            //Chapter18_Memento c18 = new Chapter18_Memento();
            //c18.MementoTest();

            //组件模式
            //Chapter19_Composite c19 = new Chapter19_Composite();
            //c19.CompositeTest();

            //桥接模式
            //Chapter22_Bridge c22 = new Chapter22_Bridge();
            //c22.BridgeTest();

            //命令模式
            //Chapter23_Command c23 = new Chapter23_Command();
            //c23.CommandTest();

            //职责链模式
            //Chapter24_ChainOfResposibility c24 = new Chapter24_ChainOfResposibility();
            //c24.COR_Test();

            //中介人模式
            //Chapter25_Mediator c25 = new Chapter25_Mediator();
            //c25.MediatorTest();

            //享元模式
            //Chapter26_Flyweight c26 = new Chapter26_Flyweight();
            //c26.FlyweightTest();

            Console.Read();
        }
    }
}
